SQL LEFT JOIN Keyword

बाईं तालिका से सभी रिकॉर्ड लौटाने और दाईं तालिका से मिलान रिकॉर्ड करने के लिए LEFT JOIN के बारे में जानें

LEFT JOIN Keyword क्या हैं?

LEFT JOIN कीवर्ड बाईं तालिका (तालिका 1) से सभी रिकॉर्ड और दाईं तालिका (तालिका 2) से मिलान रिकॉर्ड लौटाता है। यदि कोई बेमेल है, तो 0 रिकॉर्ड दाईं ओर से समाप्त होते हैं।

लेफ्ट जॉइन सिंटैक्स

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

नोट:

कुछ डेटाबेस लेफ्ट जॉइन को लेफ्ट आउटर जॉइन कहते हैं।

प्रदर्शन डेटाबेस

इस अभ्यास में हम प्रसिद्ध नॉर्थविंड मॉडल डेटाबेस का उपयोग करेंगे।

नीचे "ग्राहक" तालिका से एक चयन दिया गया है:

ग्राहक तालिका

+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| CustomerID | CustomerName                   | ContactName    | Address           | City     | PostalCode | Country |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| 1          | Alfreds Futterkiste            | Maria Anders   | Obere Str. 57     | Berlin   | 12209      | Germany |
| 2          | Ana Trujillo Emparedados...    | Ana Trujillo   | Avda. Constitución| México   | 05021      | Mexico  |
| 3          | Antonio Moreno Taquería        | Antonio Moreno | Mataderos 2312    | México   | 05023      | Mexico  |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+

और "आदेश" तालिका से एक चयन:

आदेश तालिका

+---------+------------+-----------+------------+------------+
| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
+---------+------------+-----------+------------+------------+
| 10308   | 2          | 7         | 1996-09-18 | 3         |
| 10309   | 37         | 3         | 1996-09-19 | 1         |
| 10310   | 77         | 8         | 1996-09-20 | 2         |
+---------+------------+-----------+------------+------------+

SQL LEFT JOIN उदाहरण

निम्नलिखित SQL कथन सभी ग्राहकों और उनके पास मौजूद किसी भी ऑर्डर का चयन करता है:

उदाहरण

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

नोट:

LEFT JOIN कीवर्ड बाईं तालिका (ग्राहक) से सभी रिकॉर्ड लौटाता है, भले ही दाईं तालिका (ऑर्डर) में कोई मिलान न हो।

बाईं ओर दृश्य प्रतिनिधित्व में शामिल हों

ग्राहक तालिका (बाएं)

CustomerID
CustomerName
1
Alfreds Futterkiste
2
Ana Trujillo
3
Antonio Moreno
4
Around the Horn
LEFT JOIN

ऑर्डर तालिका (दाएं)

OrderID
CustomerID
10308
2
10309
37
10310
77

बाएँ शामिल होने का परिणाम

CustomerName
OrderID
नोट
Alfreds Futterkiste
NULL
कोई आदेश नहीं
Ana Trujillo
10308
लागू आदेश
Antonio Moreno
NULL
कोई आदेश नहीं
Around the Horn
NULL
कोई आदेश नहीं

टिप्पणी:लेफ्ट जॉइन सभी ग्राहकों (बाएं टेबल) को दिखाता है, चाहे उनके पास ऑर्डर हों या नहीं। मेल न खाने वाले ग्राहकों के लिए ऑर्डरआईडी को NULL के रूप में प्रदर्शित किया जाएगा।

जब लेफ्ट जॉइन करना शुरू करें

सभी ग्राहक देखें

बिना ऑर्डर वाले ग्राहकों सहित सभी ग्राहकों को सूचीबद्ध करना

बिक्री रिपोर्ट

गैर-बिक्री वाले उत्पादों सहित सभी उत्पाद देखें

अदाकारी का समीक्षण

उन सभी संस्थाओं की पहचान करना जिनके पास कोई कार्य नहीं है

LEFT JOIN vs INNER JOIN

LEFT JOIN

  • बायीं मेज सेसभीपंक्तियों
  • दाएँ तालिका से पंक्तियों का मिलान
  • बेमेल के लिए शून्य मान
  • कुल पंक्तियाँ ≥ बाईं तालिका पंक्तियाँ
SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.ID = TableB.ID;

INNER JOIN

  • दोनों तालिकाओं मेंउपयुक्तकेवल पंक्तियाँ
  • दोनों तालिकाओं के लिए सामान्य डेटा
  • गैर-मैचों को बाहर रखा गया
  • कुल पंक्तियाँ ≤ न्यूनतम दो तालिकाएँ
SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.ID = TableB.ID;

अभ्यास

SQL LEFT JOIN कीवर्ड क्या करता है?

दोनों तालिकाओं से केवल मेल खाने वाले रिकॉर्ड लौटाता है
✗ ग़लत! ये इनर जॉइन का काम है
बाईं तालिका से सभी रिकॉर्ड लौटाता है और दाईं तालिका से मिलान रिकॉर्ड लौटाता है
✓ ठीक है! लेफ्ट जॉइन बाईं तालिका से सभी रिकॉर्ड लौटाता है, भले ही दाईं तालिका में कोई मिलान न हो
दाईं तालिका से सभी रिकॉर्ड लौटाता है और बाईं तालिका से मिलान रिकॉर्ड लौटाता है
✗ ग़लत! ये Right JOIN का काम है
दोनों तालिकाओं से सभी रिकॉर्ड लौटाता है
✗ ग़लत! ये FULL OUTER JOIN का काम है